package exam.jingdong;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 * 要把n和m搞清楚
 */
public class test3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int x = scanner.nextInt();
        int y = scanner.nextInt();
        int z = scanner.nextInt();
        Map<Character,int[]> map = new HashMap<>();
        for (int i = 0; i < m; i++) {
            String string = scanner.next();
            for (int j = 0; j < n; j++) {
                map.put(string.charAt(j),new int[]{i,j});
            }
        }
        int [] weizhi = {0,0};
        int res = 0;
        String in = scanner.next();
        for (int i = 0; i < in.length(); i++) {
            int[] next = map.get(in.charAt(i));
            if(next[0]==weizhi[0]&&next[1]==weizhi[1]){

            }else if(next[0]==weizhi[0]&&next[1]!=weizhi[1]){
                res+=Math.abs(next[1]-weizhi[1])*x;
            }else if(next[0]!=weizhi[0]&&next[1]==weizhi[1]){
                res+=Math.abs(next[0]-weizhi[0])*x;
            }else if(next[0]!=weizhi[0]&&next[1]!=weizhi[1]){
                res+=Math.abs(next[0]-weizhi[0])*x+Math.abs(next[1]-weizhi[1])*x;
                res+=y;
            }
            res+=z;
            weizhi = next;
        }
        System.out.println(res);

    }
}
